/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.zx.mockexam.special.multiple.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import javax.validation.Valid;

import org.hibernate.validator.constraints.Length;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.entity.TreeEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;
import com.jeesite.common.utils.excel.annotation.ExcelField;
import com.jeesite.common.utils.excel.annotation.ExcelFields;
import com.jeesite.common.utils.excel.annotation.ExcelField.Align;
import com.jeesite.common.utils.excel.annotation.ExcelField.Type;
import com.jeesite.common.utils.excel.fieldtype.OfficeType;
import com.jeesite.modules.sys.entity.Employee;
import com.jeesite.modules.zx.question.bank.entity.TquestionBank;

/**
 * 模拟-专项考试-多选表Entity
 * @author zpp
 * @version 2020-02-08
 */
@Table(name="t_mockexam_special_multiple", alias="a", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="obj_name", attrName="objName", label="数据名称", queryType=QueryType.LIKE, isTreeName=true),
		@Column(name="obj_type", attrName="objType", label="数据类型"),
		@Column(includeEntity=TreeEntity.class),
		@Column(includeEntity=DataEntity.class),
		@Column(name="obj_explain", attrName="objExplain", label="数据说明"),
		@Column(name="obj_answer", attrName="objAnswer", label="答案"),
		@Column(name="score",attrName="score",label="分数"),
		@Column(name="analysis",attrName="analysis",label="解析"),
		@Column(name="post",attrName="post",label="岗位"),
		@Column(name="category",attrName="category",label="考试类别"),
		@Column(name="difficulty",attrName="difficulty",label="困难程度"),
		@Column(name="knowledge_point_type",attrName="knowledgePointType",label="知识类型"),
		@Column(name="num_bars", attrName="numBars", label="总条数"),
	}, orderBy="a.tree_sorts, a.id"
)
public class TMockeSpecialMultiple extends TreeEntity<TMockeSpecialMultiple> {
	
	private static final long serialVersionUID = 1L;
	private String objName;		// 数据名称
	private Integer objType;		// 数据类型
	private Integer objExplain;		// 数据说明
	private String objAnswer;		// 答案
	private Double score;
	private boolean checked;
    private String analysis;
    private Integer category;
	private String post;
	private Integer difficulty;
	private Integer knowledgePointType;
	private String  strExplain;
    private String categoryName;
	private String postName;
	private String difficultyName;
	private String  knowledgePointName;
    private Integer numBars;
	
	public Integer getNumBars() {
		return numBars;
	}

	public void setNumBars(Integer numBars) {
		this.numBars = numBars;
	}
	public TMockeSpecialMultiple() {
		this(null);
	}

	public TMockeSpecialMultiple(String id){
		super(id);
	}
	
	
	
	@Override
	@Valid
	@ExcelFields({
		@ExcelField(title="编码", attrName="id", align=Align.CENTER, sort=1),
		@ExcelField(title="父级编号(顶级写0)",attrName="parentCode",type=Type.ALL,align=Align.CENTER,sort=2),
		@ExcelField(title="数据名称", attrName="objName", align=Align.CENTER, sort=30),
		@ExcelField(title="数据说明", attrName="strExplain", align=Align.CENTER, sort=40),
		@ExcelField(title="是否为正确答案", attrName="objAnswer", align=Align.CENTER, sort=50),
		@ExcelField(title="(问题)分数", attrName="score", align=Align.CENTER, sort=55),
		@ExcelField(title="(问题)解析", attrName="analysis", align=Align.CENTER, sort=60),
		@ExcelField(title="(标题)考试类别", attrName="categoryName", align=Align.CENTER, sort=70),
		@ExcelField(title="(题目)岗位类别", attrName="postName", align=Align.CENTER, sort=80),
		@ExcelField(title="(问题)困难程度", attrName="difficultyName", align=Align.CENTER, sort=85),
		@ExcelField(title="(问题)知识点类别", attrName="knowledgePointName", align=Align.CENTER, sort=90),
	})
	public String getId() {
		return super.getId();
	}
	private List<TquestionBank> quetbankList=new ArrayList<TquestionBank>();
	public List<TquestionBank> getQuetbankList() {
		return quetbankList;
	}
	public void setQuetbankList(List<TquestionBank> quetbankList) {
		this.quetbankList = quetbankList;
	}
	@Override
	public String getParentCode() {
		return super.getParentCode();
	}
	public Integer getCategory() {
		return category;
	}

	public void setCategory(Integer category) {
		this.category = category;
	}

	public String getPost() {
		return post;
	}

	public void setPost(String post) {
		this.post = post;
	}

	public Integer getDifficulty() {
		return difficulty;
	}

	public void setDifficulty(Integer difficulty) {
		this.difficulty = difficulty;
	}

	public Integer getKnowledgePointType() {
		return knowledgePointType;
	}

	public void setKnowledgePointType(Integer knowledgePointType) {
		this.knowledgePointType = knowledgePointType;
	}
	
	public String getAnalysis() {
		return analysis;
	}
	
	public String getStrExplain() {
		return strExplain;
	}

	public void setStrExplain(String strExplain) {
		this.strExplain = strExplain;
	}

	public String getCategoryName() {
		return categoryName;
	}

	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}

	public String getPostName() {
		return postName;
	}

	public void setPostName(String postName) {
		this.postName = postName;
	}

	public String getDifficultyName() {
		return difficultyName;
	}

	public void setDifficultyName(String difficultyName) {
		this.difficultyName = difficultyName;
	}
	
	public String getKnowledgePointName() {
		return knowledgePointName;
	}

	public void setKnowledgePointName(String knowledgePointName) {
		this.knowledgePointName = knowledgePointName;
	}

	public void setAnalysis(String analysis) {
		this.analysis = analysis;
	}	
	public boolean isChecked() {
		return checked;
	}

	public void setChecked(boolean checked) {
		this.checked = checked;
	}
	
	public Double getScore() {
		return score;
	}

	public void setScore(Double score) {
		this.score = score;
	}

	
	
	@Override
	public TMockeSpecialMultiple getParent() {
		return parent;
	}

	@Override
	public void setParent(TMockeSpecialMultiple parent) {
		this.parent = parent;
	}
	
	@Length(min=0, max=255, message="数据名称长度不能超过 255 个字符")
	public String getObjName() {
		return objName;
	}

	public void setObjName(String objName) {
		this.objName = objName;
	}
	
	public Integer getObjType() {
		return objType;
	}

	public void setObjType(Integer objType) {
		this.objType = objType;
	}
	
	public Integer getObjExplain() {
		return objExplain;
	}

	public void setObjExplain(Integer objExplain) {
		this.objExplain = objExplain;
	}
	
	@Length(min=0, max=255, message="答案长度不能超过 255 个字符")
	public String getObjAnswer() {
		return objAnswer;
	}

	public void setObjAnswer(String objAnswer) {
		this.objAnswer = objAnswer;
	}
	
}